package com.ddwl.schema.bo.funds;

import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.Instant;

/**
 * 类OrderPayBo.java的实现描述：用户付钱接口
 *
 * @author zach
 * @Date :2020-09-26 15:28.
 */
@Getter
@Setter
public class OrderPayBo {

    @NotNull
    private String product;
    /**
     * 用户ID
     */
    @NotNull
    private String userId;
    /**
     * 用户名称
     */
    private String userName;
    /**
     * 微信支付openid 付款人OpenId
     */
    private String payOpenId;
    /**
     * 订单Id
     */
    @NotNull
    private String orderId;
    /**
     * 订单总支付金额
     */
    @NotNull
    @DecimalMin(value = "0.01", message = "金额最少一分钱")
    private BigDecimal totalAmount;
    /**
     *  订单类型 0,购物消费 1, 话费充值
     */
    @NotNull
    private String orderType;
    /**
     * 0微信1支付宝
     */
    private Integer paymentType;
    /**
     * 支付结果回调队列名称
     */
    private String notifyMethod;
    /**
     * 订单过期时间
     */
    @NotNull
    private Instant expirationTime;
    /**
     * 付款人用户id
     */
    private String payUserId;
    /**
     * 付款人名称
     */
    private String payUserName;
    /**
     * 付款产品
     */
    private String payProduct;
    /**
     * appId
     */
    private String payAppId;
}
